// function Person(name, age, sex){
//   this.name = name
//   this.age = age
//   this.sex = sex
//   this.sayHi = function(){
//     console.log('Hi, nihao'+' I am '+this.name);
//   }
// }

// const person1 = new Person('小李', 18, 'F')

// console.log(person1.name);
// person1.sayHi()


class Person {
  // 构造器方法
  constructor(name, age, sex) {
    this.name = name
    this.age = age
    this.sex = sex
  } 
  // 一般方法
  sayHi(){
    // sayHi方法放在哪里？ ——类的原型链上，供实例使用。
    // 通过Person实例调用sayHi时，sayHi中的this就是Person实例
    console.log('Hi, nihao'+' I am '+this.name);
  }
}



class Student extends Person{
  constructor(name, age, sex, grade){
    super(name, age, sex)
    this.grade = grade

  }
}

const s1 = new Student('小张', 16, 'F', '高二')
console.log(s1);
s1.sayHi()